/* 
 * File:   ConstantTypeParameterMemento.h
 * Author: Gab'z
 *
 * Created on 29 mai 2012, 10:56
 */

#ifndef CONSTANTTYPEPARAMETERMEMENTO_H
#define	CONSTANTTYPEPARAMETERMEMENTO_H

#include "Memento.h"
#include "../parameters/Parameters.h"

namespace calculator {
    class UndoableRedoableCommand;

    class ConstantTypeParameterMemento : public Memento {
        friend class IntegerParameterCommand;
        friend class RationnalParameterCommand;
        friend class RealParameterCommand;
        
    public:
        ConstantTypeParameterMemento(
                UndoableRedoableCommand* undoableRedoableCommand,
                Parameters::ConstantType constantType);
        virtual ~ConstantTypeParameterMemento();
    private:
        Parameters::ConstantType _constantType;

        ConstantTypeParameterMemento(const ConstantTypeParameterMemento& orig);
    };
}

#endif	/* CONSTANTTYPEPARAMETERMEMENTO_H */

